package com.world.business.dict.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.world.common.domain.ResponseData;
import com.world.business.dict.domain.DictType;
import com.world.business.dict.domain.query.DictGetTreeRequest;
import com.world.business.dict.domain.query.DictTypeAddRequest;
import com.world.business.dict.domain.vo.DictTreeVO;

import java.util.List;

/**
 * <p>
 * 数据字典类型 服务类
 * </p>
 *
 * @author 邓驴
 * @since 2023-07-27
 */
public interface IDictTypeService extends IService<DictType> {

    /**
     * 新增
     *
     * @param request 请求参数
     * @return {@link ResponseData <Long>} 数据字典类型Id
     * @author WangYX
     * @date 2023/07/28 11:03
     */
    Long add(DictTypeAddRequest request);

    /**
     * 字典树
     *
     * @param request 请求参数
     * @return {@link List<DictTreeVO>} 返回值
     * @author WangYX
     * @date 2023/07/28 11:49
     */
    List<DictTreeVO> tree(DictGetTreeRequest request);

    /**
     * 详情
     *
     * @param id 字典类型Id
     * @return {@link ResponseData}
     * @author WangYX
     * @date 2023/07/28 14:02
     */
    DictTreeVO get(Long id);

    /**
     * 删除
     *
     * @param id 数据字典类型Id
     * @author WangYX
     * @date 2023/07/28 14:30
     */
    void delete(Long id);

}
